1. Field of the Invention
The present invention relates to method and apparatus for making inferences, using frame-based knowledge representation primarily utilized in artificial intelligence technology, in which various knowledge about an object of interest is collectively stored in frames, and inferences are made utilizing hierarchical data structure formed by the frames interactively.
2. Description of the Prior Art
A method known as frame-based knowledge representation is an effective way of representing knowledge of various kind in a flexible manner which allows easy access, management, and utilization of the knowledge.
In this frame-based knowledge representation, an object is represented by a frame comprised of slot - slot value pairs. Each slot represents a categorized character and each slot-value represents a particular character value corresponding to the object being represented. An example of such frame-based knowledge representation is shown diagrammatically in FIG. 1, where a frame is shown as a rectangular box with a frame name such as `computer` or `processor` given on the upper side of each box. Labels given inside each box such as `super` or `sub` are slots, and those accompanying each slot (following : symbol) such as `personal computer` or `microcomputer` are slot values. In a given frame representing a certain object, a slot `super` indicates a broader concept of the object, a slot `sub` indicates a narrower concept of the object, a slot `has part` indicates a component of the object, a slot `has-instance` indicates an example of the object, a slot `part-of` indicates what the object is a component of, and a slot `instance-of` indicates what the object is an example of.
In an apparatus for making inferences using such frame-based knowledge representations in a knowledge base, if a required character value of an object was not found in a frame representing the object, the character value is inferred by so-called inheritance, i.e., a slot value of a slot belonging to a frame representing a broader concept of the object and representing the same character as that of the required character value is regarded as the required character value of the object. For instance, in the example shown in FIG. 1, if a question asked was `Does a business personal computer have a microprocessor as a component ?`, then a frame `business personal computer` is looked up first. But as there is no slot `has-part` found in that frame, a frame `personal computer` which represents a broader concept is looked up next. As there is a slot `has-part` in this frame with a slot value `microprocessor`, this slot value is inherited by the frame `business personal computer` as the character value needed, and an answer `true` will be given to the original question.
As in this example, the inheritance conventionally has been an unrestricted transferring of a slot--slot value pair of a frame representing the broader concept to a frame representing the narrower concept. However, there is trouble with this manner of the inheritance in the following circumstance. In an example shown in FIG. 1, if a question asked was `What is 4 bMP (4 bit microprocessor) a component of ?`, then as there is no slot `part-of` found in the frame `4 bMP`, the pair of the slot `part-of` and a slot value `personal computer` in a frame `microprocessor` which represents a broader concept of 4 bMP will be inherited down to the frame `4 bMP`, and an answer `4 bMP is a component of a personal computer` will be inferred. The trouble is that this answer contradicts our common knowledge. The source of this trouble is that it is not that a personal computer has all the microprocessors as its components as the process of the inference in this example appears to interpret, but that a personal computer in general has some kind of a microprocessor as its component. In other words, `microprocessor` appearing in the frame `personal computer` does not necessarily corresponds one-to-one with a general notion of microprocessor.
Thus the conventional mechanism of inheritance in frame-based knowledge representation has a problem in not being able to distinguish differences in ranges of certain concepts and different senses of hierarchical relationships among frames representing such concepts, and this may induce incorrect inferences.